﻿using System;
using System.Linq.Expressions;

namespace NMapper
{
    public interface IDbSelector<TDatabase, in TDatabaseEntity, out TDbValue> : IDbSelector<TDatabase>
        where TDatabase : IDisposable
    {
        new Func<MapContext<TDatabase>, TDatabaseEntity, TDbValue> DbSelector { get; }
    }

    public interface IDbSelector<TDatabase>
        where TDatabase : IDisposable
    {
        LambdaExpression DbSelectorExpression { get; }
        Func<MapContext<TDatabase>, object, object> DbSelector { get; }
    }
}